Use libdatadog for dotnet#8186
Conversation
BenchmarksBenchmark execution time: 2026-06-18 09:35:22 Comparing candidate commit 7758f8e in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 71 metrics, 0 unstable metrics, 61 known flaky benchmarks, 65 flaky benchmarks without significant changes.
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8186) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (73ms) : 71, 76
master - mean (74ms) : 70, 77
section Bailout
This PR (8186) - mean (77ms) : 75, 79
master - mean (79ms) : 75, 82
section CallTarget+Inlining+NGEN
This PR (8186) - mean (1,123ms) : 1043, 1204
master - mean (1,103ms) : 1050, 1156
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (114ms) : 110, 117
master - mean (117ms) : 110, 123
section Bailout
This PR (8186) - mean (118ms) : 112, 123
master - mean (115ms) : 110, 120
section CallTarget+Inlining+NGEN
This PR (8186) - mean (797ms) : 779, 815
master - mean (792ms) : 764, 820
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (102ms) : 98, 105
master - mean (102ms) : 99, 104
section Bailout
This PR (8186) - mean (106ms) : 101, 111
master - mean (104ms) : 91, 118
section CallTarget+Inlining+NGEN
This PR (8186) - mean (950ms) : 914, 985
master - mean (947ms) : 903, 991
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (100ms) : 96, 104
master - mean (101ms) : 96, 106
section Bailout
This PR (8186) - mean (100ms) : 98, 102
master - mean (101ms) : 99, 103
section CallTarget+Inlining+NGEN
This PR (8186) - mean (822ms) : 786, 859
master - mean (819ms) : 785, 854
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (197ms) : 192, 203
master - mean (198ms) : 191, 205
section Bailout
This PR (8186) - mean (202ms) : 196, 207
master - mean (202ms) : 197, 208
section CallTarget+Inlining+NGEN
This PR (8186) - mean (1,194ms) : 1156, 1232
master - mean (1,194ms) : 1155, 1233
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (285ms) : 277, 293
master - mean (285ms) : 278, 292
section Bailout
This PR (8186) - mean (286ms) : 279, 293
master - mean (285ms) : 277, 292
section CallTarget+Inlining+NGEN
This PR (8186) - mean (954ms) : 934, 975
master - mean (951ms) : 934, 967
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (277ms) : 271, 284
master - mean (275ms) : 269, 280
section Bailout
This PR (8186) - mean (277ms) : 272, 282
master - mean (275ms) : 270, 280
section CallTarget+Inlining+NGEN
This PR (8186) - mean (1,161ms) : 1127, 1196
master - mean (1,152ms) : 1116, 1188
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8186) - mean (278ms) : 270, 285
master - mean (274ms) : 269, 279
section Bailout
This PR (8186) - mean (277ms) : 268, 286
master - mean (273ms) : 269, 277
section CallTarget+Inlining+NGEN
This PR (8186) - mean (1,039ms) : 1000, 1079
master - mean (1,033ms) : 993, 1074
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
…g/dd-trace-dotnet into nacho/UseLibDatadogDotnet
This makes it sound like this repository is a fork of |
This comment has been minimized.
This comment has been minimized.
Update version and download checksums (6x SHA256 for Linux/macOS, 2x SHA512 for Windows) to the libdatadog-dotnet v1.3.5 release. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
andrewlock
left a comment
There was a problem hiding this comment.
LGTM (apart from spurious files)! ![]()
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e56e3891e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
gleocadie
left a comment
There was a problem hiding this comment.
Can you update the bump-libdatadog skills too please ?
https://github.com/DataDog/dd-trace-dotnet/tree/master/.claude/skills/bump-libdatadog
The native dependency now comes from DataDog/libdatadog-dotnet, not upstream DataDog/libdatadog. Update the skill + helper script: retarget release URLs/API, clarify the libdatadog-dotnet version scheme (distinct from the upstream version it tracks), make checksum extraction robust to the new release-notes format (split by hash length), drop the removed ByteSlice.cs reference, and note the reduced feature set / unchanged x64 GLIBC 2.15 cap. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Done! Thanks! |
Summary of changes
Migrate native dependency from DataDog/libdatadog to DataDog/libdatadog-dotnet v1.3.5.
Reason for change
libdatadog-dotnet is a .NET-specific distribution of libdatadog with a minimal feature preset tailored to the needs of the .NET tracer (
profiling,crashtracker,symbolizer,library-config), resulting in smaller binaries and a more focused build. It drops the FFI modules the tracer doesn't use (data-pipeline,log,telemetry,ddsketch,ffe).Implementation details
All download URLs changed from github.com/DataDog/libdatadog to github.com/DataDog/libdatadog-dotnet.
Test coverage
No test changes — this is a dependency version/source update. Existing CI builds and native profiler tests validate the binary compatibility. The v1.3.5 artifacts were additionally verified against official libdatadog v32.0.0 across all 8 platforms: identical package layout and headers, and the exported symbol set is a strict subset (only the intentionally-dropped feature symbols differ — no profiling/crashtracker/library-config/common symbol is missing).
Other details